#ifndef _SKYROAD_ROUTER_H_
#define _SKYROAD_ROUTER_H_

#include <skyroad/message/message.hpp>
#include <skyroad/detail/config.hpp>
#include <skyroad/bus/bus_fwd.hpp>

class SKYROAD_DECL router
{
public:
    router(bus& bs);

    virtual ~router()
    {
    }

    virtual void route(message& msg) = 0;
protected:
    bus& host()
    { 
        return m_bus; 
    }
private:
	bus& m_bus;
};

#endif